草庐IT

Android isScreenOn Nullpointer异常

全部标签

c++ - 在抛出的异常中销毁临时字符串

考虑以下代码:std::stringmy_error_string="Someerrormessage";//...throwstd::runtime_error(std::string("Error:")+my_error_string);传递给runtime_error的字符串是字符串的operator+返回的临时字符串。假设此异常的处理方式如下:catch(conststd::runtime_error&e){std::coutstring的operator+返回的temporary什么时候销毁?语言规范对此有什么要说的吗?另外,假设runtime_error接受了一个const

c++ - 在构造函数中捕获异常

以下示例可能会导致内存泄漏,因为析构函数不会针对在其构造函数运行期间处理异常的对象运行。我在哪里处理这个内存泄漏?#includeclassMyClass{public:MyClass(){c=newchar[5];throwstd::runtime_error("test");}~MyClass(){delete[]c;}private:char*c;};intmain(){try{MyClassObj;}catch(std::runtime_error){}} 最佳答案 在构造函数中捕获异常,整理(释放内存),然后在没有内存泄漏

c++ - 哪种代码被认为是异常安全的?

能够很好地处理异常的代码称为异常安全代码?这是正确的吗?来自这里:https://codereview.stackexchange.com/a/9759/11619Youuselock/unlockpairsforthemutex.Thisisnotexceptionsafe.SoIwouldcreateanobjectthatwilldothelockintheconstructorandunlockinthedestructorthenusethistolockyourmutexs.Thiswillmakeyourcodemoreexceptionsafe.classMutexLo

空指针的 C++ 异常

我有一个小函数(在DLL中),看起来像这样:intmy_function(constchar*consts){try{returnmy_object->do_something_with(s);}catch(exception&e){returnERROR_CODE;}}我认为try-catchblock可以防止my_object内部发生的任何事情传播到外部。不幸的是,我错了,我调用此函数(从VB)的程序刚刚停止工作,因为我传递了一个空指针参数。那么,为什么我的try-catchblock没有像(我)预期的那样工作?有解决方法吗?我曾经用Java编程很多,我认为它在那里可以工作....

C++ 异常:为什么要使用或扩展 std::exception?

根据thissite抛出字符串或整数非常有用。我发现这非常干净且易于理解。throw"descriptionofwhathappened"而不是throwstd::runtime_error("descriptionofwhathappened")有什么缺点? 最佳答案 那个网站很愚蠢,教的是糟糕的设计。如果您抛出int或char*,那么您将不得不使用int或char*捕获它>只有。您可以使用const对其进行限定。如果您抛出std::runtime_error,那么您可以使用std::runtime_errorconst&或其基类

c++ - throw/catch 异常命名的起源是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。这个结构的创造者是棒球迷吗?

已解决java.lang.UnsatisfiedLinkError异常的正确解决方法,亲测有效!!!

已解决java.lang.UnsatisfiedLinkError异常的正确解决方法,亲测有效!!!文章目录问题分析报错原因解决思路解决方法检查库文件路径确认操作系统兼容性解决依赖问题总结在Java开发过程中,面对java.lang.UnsatisfiedLinkError这一常见但又棘手的问题时,很多开发者可能会感到困惑。本篇博客将深入分析该问题的原因,并提供详细且实用的解决方案,帮助开发者有效解决这一挑战。问题分析java.lang.UnsatisfiedLinkError通常出现在Java程序尝试调用某个本地(native)方法时,但JVM无法找到或加载该方法的情形下。本地方法是用非Ja

c++ - 比 C++ 中的异常处理更好的语言特性?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion(不确定它是否只是一个C++的东西)异常处理ishardtolearninC++andiscertainlynotaperfectsolutionbutinmostcases(otherthansomespecificembeddedsoftwarecontexts)it'scertainlythebettersolutionwecurrentlyhaveforexceptionhandl

C++ 异常在虚函数上抛出注释

我看到了下面的代码片段:classFoo{public:voidvirtualfunc()throw(int,float)=0;};classBar:publicFoo{public:voidvirtualfunc()throw(short);//line1:compileerror"//looserthrowspecifier"voidvirtualfunc()throw();//line2:cancompilevoidvirtualfunc()throw(float,int);//line3:cancompilevoidvirtualfunc()throw(float);//lin

析构函数中的c++异常

从其他线程,我知道我们不应该在析构函数中抛出异常!但是对于下面的例子,它确实有效。这是否意味着我们只能在一个实例的析构函数中抛出异常?我们应该如何理解这个代码示例!#includeusingnamespacestd;classA{public:~A(){try{printf("exceptioninAstart\n");throw30;printf("exceptioninAend\n");}catch(inte){printf("catchinA%d\n",e);}}};classB{public:~B(){printf("exceptioninBstart\n");throw20;